﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CoreGallery.Addins.Contracts
{
    /// <summary>
    /// Defines the common attributes of an add-in.  Metadata such as name,
    /// description, and version allows the core engine to manage addins
    /// without respect to their actual function or implementation.
    /// </summary>
    public interface ICoreAddinBase
    {
        string Name { get; }
        string Creator { get; }
        Guid UniqueKey { get; }
        string Description { get; }
        string AboutText { get; }
        Version Version { get; }

        void OnInit();
        void OnLoad();
        void OnUnload();
    }
}
